Signalling in Modern Telecommunications Systems
In modern switched telecommunication systems (in particular, modern PSTNs) it has become common practice to provide two related but separate network infrastructures: a bearer or transmission network for carrying end-user voice and data traffic, and a signalling network for controlling the setup and release of bearer channels through the bearer network in accordance with control signals transferred through the signalling network. In practice such signalling networks comprise high-speed computers interconnected by signalling links; computer programs control the computers to provide a set of operational and signalling functions in accordance with a standardized protocol. One example of such a signalling protocol is the afore-mentioned Signalling System No. 7 (SS7) which is being extensively deployed for control of telephone and other data transmission networks. An SS7 network basically comprises various types of signalling points, namely, signalling end points (SEPs) and signalling transfer points (STPs) interconnected by signalling links, the SEPs being associated for example with respective service switching points (SSPs) of the transmission network, and with service control points (SCPs).
Referring to FIG. 1, an SS7 network 10 is shown inter-communicating three signalling end points constituted by two service switching points SSPs 11 (between which extend speech circuits 12 of a transmission network not further illustrated) and a service control point SCP 13. The SCP serves to implement particular services (sometimes called IN, or Intelligent Network, services) in response to service requests received from an SSP, such a service request being generated by an SSP upon certain trigger conditions being met in the SSP in respect of a call that it is handling. A typical service may involve the translation of the dialled number (called party number) to a different number, the SCP returning this latter number to the SSP to enable the latter to complete call setup.
The SS7 network 10 includes two pairs 14 of signalling transfer points STPs, and a plurality of link sets 18 interconnecting the SSPs, SCP and STPs into a redundant network. Each signalling link set 18 is made up of one or more individual signalling links, the number of signalling links in a link set being chosen to provide appropriate capacity for the level of signalling traffic expected. The redundancy provided in respect of the STPs and links is to ensure that the failure of a single component of the network core does not cause the whole network to fail.
It should be noted that an SS7 network will typically comprise more STP pairs, SSPs and SCPs than illustrated. Service control functionality, as well as being provided in an SCP, can be provided in an Adjunct directly connected to an SSP.
Messages traversing the links of the network may be any of a large number of different types, depending on the nature of the call to which the message relates and the function specified by the message.
The SS7 Architecture
In order to facilitate an understanding of the present invention, a brief review will be given of the layered structure of the SS7 architecture and of the messages passed over the links of the network 10 to implement the SS7 architecture.
FIG. 2 illustrates the SS7 architecture. Levels 1 to 3 (referenced 21, 22, 23) form the message transfer part (MTP) 24. The MTP 24 is responsible for transferring signalling information between signalling points in messages. Level 4 (not referenced as a whole) comprises circuit-related user parts, namely ISDN User Part (ISUP) 26 and Telephone User Part (TUP) 27. These user parts define the meaning of the messages transferred by the MTP 24 and provide functionality to the users of SS7 (block 29). The user parts 26 and 27 are specific to particular types of circuit-related applications as indicated by their names. In fact, the ISUP is the most important user part, the TUP being a subset of ISUP and having been largely replaced by the latter. Most inter-exchange signalling, such as between SSPs 11 in FIG. 1, uses ISUP messages.
As well as the circuit-related user parts, SS7 level 4 also includes functional elements defining a general protocol for non-circuit-related information, such as operations, maintenance and administration information or network database information. The main functional element in this Level 4 protocol is the Transaction Capabilities (TC) 30 which sits on top of a Signalling-Connection-Control Part (SCCP) 31 and beneath a TC Users element 32.
The SCCP 31 actually forms part of the transfer mechanism for non-circuit-related applications, combining with MTP 24 to provide transfer mechanisms (both connectionless and connection oriented) meeting the Open Systems Interconnection (OSI) Layer 3/4 boundary requirements. TC 30 itself comprises two elements, namely an intermediate-services part (ISP) and a transaction-capabilities application part (TCAP); ISP is only used for connection-oriented services. Users of the SCCP/TC stack include the INAP (Intelligent Network Application Part) 32 and MAP (Mobile Application Part) 33. With reference to FIG. 1, messages passed between an SSP 11 (FIG. 1) and SCP 13 will be INAP messages using SCCP/TC (in fact, such messages are generally concerned with real time query/response transactions for which a connectionless service is most appropriate so that only the TCAP part of TC is used). Some inter-exchange signalling may also use SCCP/TC messages where, for example, the purpose of the signalling is service related rather than circuit related. ISUP may also use the SCCP for certain messages.
Considering the MTP 24 in a little more detail, Level 1 (reference 21) defines the physical, electrical and functional characteristics of the transmission path for signalling. MTP Level 2 (reference 22) defines the functions and procedures for the transfer of signalling messages over a link between two directly-connected signalling points. MTP Level 3 (reference 23) provides functions for the reliable transfer of signalling information from one signalling end point to another. Thus, Level 3 is responsible for those functions that are appropriate to a number of signalling links, these being separable into signalling-message handling functions and signalling-network management functions.
When considering the passing of messages over a single link, it is the combination of Levels 1 and 2 that provides for the reliable transfer of signalling information. The Level 2 functions provide a framework in which the information is transferred and performs error-detection and error-correction processes; the Level 2 functions are carried out afresh on a link-by-link basis. At Level 2, information is seen as being transferred between signalling points in messages known as "signal units".
The general form of a signal unit 40 is shown in FIG. 3. As can be seen, a field 41 carrying message/data is encapsulated in a Level 2 framework comprising the following fields: a flag field; a backward sequence number field (BSN); a backward-indicator bit (BIB); a forward sequence number field (FSN); a forward-indicator bit (FIB); a length indicator field (LI); a spare field (SP); a check field; and a terminating flag field. The FSN, FIB, BSN, BIB and check fields provide error correction functionality at link level in a manner well understood by persons skilled in the art.
There are three types of signalling unit:
MSU--the Message Signal Unit--MSUs carry all service/application data sent on the SS7 network. The amount of data per MSU is limited to 273 octets maximum. PA1 LSSU--the Link Status Signal Unit--LSSUs carry information relating to the status of the link and are therefore concerned with Level 2 functions. Normally, LSSUs are only seen during the initial alignment procedure when a link is brought into service but are used at other times, for example, to stop the flow of signal units when processors are busy. PA1 FISU--the Fill-In Signal Unit--When no MSUs or LSSUs are to be sent, a signalling point continually sends FISUs. FISUs carry basic Level 2 information only, for example, the acknowledgement of the last MSU (field 41 is empty). PA1 (1) EO1 examines the dialled digits and determines that the dialled number (DN) relates to switch EO2 which is a donor EO (that is, some subscribers have been ported from this EO). Of course, carrying out this determination requires that every switch must perform an internal lookup to determine whether the DN is destined for a donor EO. PA1 (2),(3) An LNP SCP database lookup is now performed to determine if the Called Party Number CdPN is ported. This lookup is done by sending an LNP query message to the SCP in the form a TCAP/SCCP Unitdata message. Typically, this query message will be routed via an STP as illustrated. PA1 (4),(5) The SCP after performing an LNP database lookup returns an LNP response message, in the form of a TCAP/SCCP Unitdata message, containing the LRN found by the database lookup. If the customer has ported the LRN will be different from the original CdPN whereas for non-ported customers the LRN will be the same as the original CdPN (in this latter case, the response message could simply include a "not ported" indicator rather than any number). PA1 (6),(7) The LNP response message tells EO1 whether the DN is for a ported customer and, if so, the LRN of the customer. Assuming the DN is for a ported customer, EO1 routes the call based on the LRN routing tables. The chosen route will generally be via an Access Tandem as the call is destined for a different carrier. Once a route is selected, switch EO1 prepares an IAM with the following substitutions: CdPN=LRN, GAP=DN and FCI=LNP Query Done. The IAM is then transmitted. PA1 (8) When the IAM arrives at the recipient switch EO3, a check is performed on the FCI and GAP. In the present example, this check indicates that the IAM relates to a ported customer and so EO3 must substitute CdPN=GAP and then perform a lookup on the CdPN to establish the physical connection to the CPE (Customer Premises Equipment). PA1 (a) intercepting messages on at least one link of said signalling network and selecting from the intercepted messages at least certain of said query messages addressed to the service function node, PA1 (b) for each selected query message, generating appropriate response data, PA1 (c) replacing each said selected query message with a response message including said response data, the response message having its destination data set to the source data of the corresponding query message, and PA1 (d) forwarding on over the signalling network the response messages provided in step (c). PA1 means for intercepting messages on at least one link of said signalling network and selecting from the intercepted messages at east certain of said query messages addressed to the service function node, PA1 means for generating, for each selected query message, appropriate response data, PA1 means for replacing each said selected query message with a response message including said response data, the response message having its destination data set to the source data of the corresponding query message, and PA1 means for forwarding on said response messages ever the signalling network. PA1 means connected into a link of said signalling system to intercept messages carried by that link, said link being one carrying query messages en route for said service function node via a said signalling transfer point of said signalling network, PA1 means for selecting from the intercepted messages at least certain of said query messages addressed to the service function node, PA1 means operative for each selected query message, to generate appropriate response data, PA1 means for replacing each said selected query message with a response message including said response data, the response message having its destination data set to the source data of the corresponding query message, and PA1 means for forwarding on said response messages over the signalling network towards said signalling transfer point.
The length indicator (LI) within each message indicates the signal unit type as follows: LI=0 means FISU; LI=1 or 2 means LSSU; and LI=3 or more means MSU.
Each MSU carries a service information octet SIO and a signalling information field. The SIO field includes a Service Indicator sub-field that defines the user part or equivalent appropriate to the message. The SIF contains the information being transferred and will generally include a routing label 43 comprising a destination point code (DPC) indicating the destination signalling end point, an originating point code (OPC) indicating the originating signalling end point, and a signalling link selection field for specifying a particular link in cases where two signalling points are linked by a multiple-link link set. The MTP 24 is not aware of the contents of the SIF other than the routing label.
Of interest to the present invention are the query/response transaction messages exchanged with an SCP; as indicated above, these messages use the SCCP and each SCCP-level message is encapsulated in the SIF field of an MSU as is illustrated in FIG. 3. As well as the routing label 43 described above, an SCCP message comprises a message type field 45 and a number of parameters organised into three parts 46, 47, 48 according to type. Mandatory parameters of fixed length are placed in the mandatory fixed part 46. Mandatory parameters of variable length are placed in the variable mandatory part 47. Optional parameters are placed in the optional part 48. For SCP query/response transactions, the type of SCCP message used is the "Unitdata" message which utilises a connectionless service. FIG. 4 illustrates the general form of a Unitdata message. Apart from the message type, the only mandatory fixed parameter is the protocol class parameter (in this case indicating that a connectionless service is required). The mandatory variable part comprises three parameters (called party number, calling party number and data), the starts of which are indicated by pointers placed at the beginning of the mandatory variable part. It is the data parameter that carries the query/response TCAP messages. There are no optional parameters (and thus no optional part 48) in a Unitdata message.
Service Provision
The general process of service provision in a modern PSTN has already been outlined above, this process involving the generation by an SSP of a service request that is then passed to service control functionality (generally either in the form of an SCP or an Adjunct). In fact, many if not most services are basically query/response transactions involving, for example, the translation of a dialled number to another number; thus, the functionality provided by the node receiving the service request is often little more than a database lookup.
To facilitate an understanding of the present invention, a more specific example of a known service will next be described.
A service that is currently attracting much attention is number portability. The reason for this interest is that Local Number Portability (LNP) has become a regulatory requirement in the USA. LNP is intended to allow subscribers to move between LECs (Local Exchange Carriers) whilst retaining their existing telephone numbers, within a rating area.
AT&T has proposed an LNP solution using a Location Routing Number (LRN). This solution relies on switched-based triggers to reference service control functionality in standard manner. The solution requires modification to the ISUP IAM message to add in a Generic Address Parameter (GAP) and a Forward Call Indicator (FCI). The general operation of the LRN number portability proposal will become clear from the following description given with reference to FIG. 5.
In FIG. 5, party A is connected to switch EO1 of carrier C1 ("EO" standing, of course, for "End Office"). Party B was previously connected to switch EO2 of carrier C1 but has now ported (moved) to carrier C2 and is currently connected to switch EO3 of carrier C2. Before B ported to carrier C2, B's number was "708-444-1234", the "708-444" part of this number indicating the switch; when A dialled B, the switch EO1 simply routed the call direct to switch EO2 based on the "444" part of the dialled number. After B has ported, B is connected to switch EO3 which is identified by "708-555". The objective of number portability is to enable A to continue to dial B using the number "708-444-1234" (it being appreciated that the "708" part of the number will not need to be dialled by A). The operations that follow the dialling of "444-1234" by A will now be described, these operations being indicated by bracketed reference numbers in FIG. 5:
As described, the above method relies on the originating switch (here EO1) querying a LRN database before initiating every call. Considering the small number of customers who are expected to port their numbers, this approach (the "originating trigger" method) results in highly inefficient use of valuable network resources. As an alternative, the originating switch can be arranged to attempt to terminate each call to the switch indicated in the dialled number DN; most calls will complete successfully and only in the event that a call fails because of a call attempt to a ported DN will a LRN database lookup be made. There are two main versions of this "call dropback" method which differ in where the LRN lookup is done. In the first version, the donor switch (i.e. the switch where the ported number originally resided) does the lookup and passes back the LRN to the originating switch in an enhanced release message. In the second version, it is the originating switch that does the lookup after receiving a release message from the donor switch indicating that the DN has ported.
In a typical telephone network there will only be a few SCPs 13 to service the requests of the substantially larger number of SSPs 11. As the number of services available to customers grows, the SCPs present a potential bottleneck. Of course, more SCPs could be provided to handle the extra service requests but this is an expensive solution and one requiring long term planning. What is required is a way of increasing the service request handling capacity of the signalling system without massive investment and planning.
EP-A-0 669 771 discloses a message interceptor for intercepting messages sent to an SCP and selectively effecting pre-processing of the messages (for example, to effect syntax translation or decryption) before forwarding the messages to the SCP; the message interceptor thus serves to relieve the SCP of some of its processing tasks and thereby enables the SCP to handle an increased number of service requests. Unfortunately, the opportunity to effect significant preprocessing is frequently absent. In addition, the number of messages to be processed by the SCP is not changed by this preprocessing approach (EP-A-0 669 771 does also describe the selective suppression of messages to relieve the SCP of load but this, of course, does not assist in solving the problem of answering the service request).